package cn.iocoder.yudao.module.signature.dal.dataobject.device;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;

/**
 * 苹果设备信息 DO
 *
 * @author base
 */
@TableName("apple_device")
@KeySequence("apple_device_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppleDeviceDO extends BaseDO {

    /**
     * 开发者id
     */
    @TableId
    private Long id;
    /**
     * udid
     */
    private String udid;
    /**
     * 苹果设备id
     */
    private String deviceId;
    /**
     * 苹果证书id
     */
    private String cerId;
    /**
     * 苹果证书编码
     */
    private String cerNumber;
    /**
     * 苹果开发者账号id
     */
    private Long appAccountId;
    /**
     * 账号类型（公共 个人）
     */
    private String accountType;
    /**
     * 质保类型（公共 个人）
     */
    private String warrantyType;
    /**
     * 类别 预约秒出
     */
    private String classType;
    /**
     * 版本 摆烂 躺平 加强
     */
    private String orderVersion;
    /**
     * 证书名称
     */
    private String cerName;
    /**
     * p12文件路径
     */
    private String p12Url;
    /**
     * p12密码
     */
    private String p12Password;
    /**
     * 描述文件路径
     */
    private String mpUrl;

    /**
     * 用户id
     */
    private Long  userId;

    /**
     * 使用客户名称
     */
    private String userName;

    /**
     * 证书状态
     */
    private String cerStatus;

    /**
     * 是否掉签
     */
    private Boolean dropFlag;
    /** 购买类型0:公共池 1:独立池 */
    private Integer poolType;
    /**
     * 设备类型
     */
    private String deviceModel;

    /**
     * 设备来源
     */
    private String sourceFlag;

    /**
     * 购买类型
     */
    private String buyType;

    /**
     *
     *版本类型编码
     */
    private String versionTypeCode ;
    /**
     *
     *版本类型编码
     */
    private String versionTypeName ;
    /** 售后时长 */
    private Integer timeout;
    /**
     * 证书过期时间
     */
    private Date cerExpireTime;
}
